#include <stdio.h>  
#include "stdlib.h"
 
//宏定义    
#define TRUE   1    
#define FALSE   0    
#define OK    1    
#define ERROR   0  
 
#define  MAXSTRLEN 100
 
typedef char	SString[MAXSTRLEN + 1];
/************************************************************************/
/* 
 返回子串T在主串S中第pos位置之后的位置，若不存在，返回0
*/
/************************************************************************/
int BFindex(SString S, SString T, int pos)
{
	if (pos <1 ||  pos > S[0] ) exit(ERROR);
	int i = pos, j =1;
	while (i<= S[0] && j <= T[0])
	{
		if (S[i] == T[j])
		{
			++i; ++j;
		} else {
			i = i- j+ 2;
			j = 1;
		}
	}
	if(j > T[0]) return i - T[0];
	return ERROR;
}
 
 
 
void main(){
	SString S = {13,'a','b','a','b','c','a','b','c','a','c','b','a','b'};
	SString T = {5,'a','b','c','a','c'};
	int pos;
	pos = BFindex( S,  T, 1);
	printf("%d", pos);
}